<?php

class Calendario {

    static function buscaCalendario($_ano = 0, $_mes = 0) {
        
        Zend_Loader::loadClass('datetools','library');
        
        $html = '';
        $valor = null;
        if($_mes > 0){
           $cal_mes_atual = $_mes;
           $cal_ano_atual = $cal_ano_atual = $_ano;
        } else {
            $cal_mes_atual = date('m');
            $cal_ano_atual = date('Y');
        }
        
        $ano = date("Y", mktime(0, 0, 0, $cal_mes_atual + $valor, 1, $cal_ano_atual)); //date("Y"); //Pega o ano
        $cont = 0;
        
        $dias = array();//Array que irá guardar os dias do mês
        $mes = date("m", mktime(0, 0, 0, $cal_mes_atual + $valor, 1, $cal_ano_atual));//date("m");//Pega o mês
        $dia = ($mes == date("m") && $ano == date("Y") ? date("d"):'');//Pega o dia
        $totalDias = date("t", mktime(0, 0, 0, $cal_mes_atual + $valor, 1, $cal_ano_atual));;//date("t");//Pega a qtd de dias do mês
        $primeiroDia = date("D", mktime(0, 0, 0, $cal_mes_atual + $valor, 1, $cal_ano_atual));//Vê em que dia da semana caiu o 1º dia do mês
        //Aqui irá adicionar os dias do mês no array
        for($d = 0; $d < $totalDias; $d++) $dias[$d] = array_push($dias, $d+1);

        $pos = Datetools::diasemanaTextoIng($primeiroDia);
       
        $txt_mes = Datetools::texto_Mes($mes);
        
        $data_ant = date('Y-m', mktime(0, 0, 0, $cal_mes_atual - 1, 1, $cal_ano_atual));
        $data_prox = date('Y-m', mktime(0, 0, 0, $cal_mes_atual + 1, 1, $cal_ano_atual));
        
        $html .= '<a href="javascript:void(0)" class="btn_cal_l" data="'.$data_ant.'">&lsaquo;</a>';
        $html .= '<a href="javascript:void(0)" class="btn_cal_r" data="'.$data_prox.'">&rsaquo;</a>';
        $html .= '<h2>' . ucfirst($txt_mes) . ' '. $ano.' </h2>';
        $html .= '<table id="leg" class="" >';
        $html .= "<tr>
                    <th>D</th>
                    <th>S</th>
                    <th>T</th>
                    <th>Q</th>
                    <th>Q</th>
                    <th>S</th>
                    <th>S</th>
                 </tr>";

        for ($linha = 0; $linha < 6; $linha++) {
            $html .= "<tr>";
            for ($coluna = 0; $coluna < 7; $coluna++) {
                $pos2 = $cont - $pos;

                if (empty($dias[$pos2]))
                    $html .= "<td></td>";
                else {
                    // coloca zero no padrão
                    if ($dias[$pos2] < 10)
                        $dias[$pos2] = "0" . $dias[$pos2];

                    $cal_html = "";

                    $db = Zend_Db_Table_Abstract::getDefaultAdapter();
                    $cal = $db->fetchAll('SELECT SQL_CACHE *, DAY(CAL_DAT) as DIA, MONTH(CAL_DAT) as MES FROM CALENDARIO WHERE CAL_DAT = "'.$ano.'-'.$mes.'-'.$dias[$pos2].'" and CAL_STA = 1 ORDER BY CAL_DAT DESC');
                    //$cal = $db->fetchRow('SELECT SQL_CACHE * FROM CALENDARIO WHERE CAL_DAT = "' . $ano . '-' . $mes . '-' . $dias[$pos2] . '" and CAL_STA = 1 ORDER BY CAL_DAT DESC');
                    foreach($cal as $c){
                        if( $c['DIA'] < 10) $c['DIA'] = "0" .  $c['DIA'];
                        $cal_html .= $c['CAL_NOM'].', ';
                    }
                    
                    
                    if($cal_html > ''){ // (isset($cal['CAL_ID']) && $cal['CAL_ID'] > 0)
                        $cal_html = substr($cal_html,0,-2);
                        $html .= '<td class="cal_dia sel"><a href="javascript:void(0)" class="hint--top hint--rounded" data-hint="'.$cal_html.'.">'.$dias[$pos2].'</a></td>';
                    }else{
                        if ($dias[$pos2] == $dia)
                            $html .= "<td class='cal_dia sel'>" . $dias[$pos2] . "</td>";
                        else $html .= "<td class='cal_dia'>" . $dias[$pos2] . "</td>";
                    }
                    

                }//Fim do else
                $cont++;
            }//Fim do for
            $html .= "</tr>";
        }//Fim do for

        $html .= "</table>";

        return $html;
        //echo json_encode(array('ok' => TRUE , 'html' => $html)); 
    }

}
